package sg.edu.nus.iss.billing.service.customer;

import java.util.List;

import sg.edu.nus.iss.billing.common.exception.BadDaoCallException;
import sg.edu.nus.iss.billing.common.exception.BadDbCallException;
import sg.edu.nus.iss.billing.exception.customer.InvalidCustomerDataException;
import sg.edu.nus.iss.billing.vo.account.AccountVO;
import sg.edu.nus.iss.billing.vo.customer.CustomerVO;

public interface ICustomerService {

	public String registerCustomer(CustomerVO customerVo) throws InvalidCustomerDataException, BadDaoCallException, BadDbCallException, Exception;//addCustomer
//	public boolean deregisterCustomer(CustomerVO customerVO);//change Status to inactive
	public CustomerVO getCustomer(CustomerVO customerVO); //viewCustomer
	public CustomerVO getCustomerByNric(String nric);
	public boolean updateCustomerDetail(CustomerVO customerVO);
	public CustomerVO getCustomerByAcc(AccountVO acc);
	public List<CustomerVO> getAllCustomers();
}
